home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Just Call Me Internet
/
Just Call Me Internet.iso
/
prog
/
atari
/
c
/
eddilib
/
eddilib.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-11-04
|
2KB
|
82 lines
/* */
/* 'EdDI' binding */
/* */
/*
Patched for Lattice C 5.52 [2/10/94] by Craig Graham.
*/
#include <vdi.h>
#include <portab.h>
#include <osbind.h>
#include "eddilib.h"
/* Funktionsprototypen */
void v_opnbm( short *work_in, MFDB *bitmap, short *handle, short *work_out );
void v_clsbm( short handle );
extern short _VDIcontrl[12],
_VDIintin[128],
_VDIintout[128],
_VDIptsin[128],
_VDIptsout[128];
/* OPEN BITMAP (VDI 100, 1) */
void v_opnbm( short *work_in, MFDB *bitmap, short *handle, short *work_out )
{
_VDIpb[1] = work_in;
_VDIpb[3] = work_out;
_VDIpb[4] = work_out + 45;
_VDIcontrl[0] = 100;
_VDIcontrl[1] = 0;
_VDIcontrl[3] = 20;
_VDIcontrl[5] = 1;
*((ULONG *)(&_VDIcontrl[7])) = (ULONG) bitmap;
cg_vdi((ULONG)_VDIpb);
*handle = _VDIcontrl[6];
_VDIpb[1] = _VDIintin;
_VDIpb[3] = _VDIintout;
_VDIpb[4] = _VDIptsout;
}
/* CLOSE BITMAP (VDI 101, 1) */
void v_clsbm( short handle )
{
_VDIcontrl[0] = 101;
_VDIcontrl[1] = 0;
_VDIcontrl[3] = 0;
_VDIcontrl[5] = 1;
_VDIcontrl[6] = handle;
cg_vdi((ULONG)_VDIpb);
}
/* Open an Off-Screen-Bitmap (simple interface to v_opnbm()) */
short open_bitmap( short x, short y, MFDB *bitmap, short *work_out )
{
short count,
dummy,
work_in[20];
short handle;
handle = graf_handle( &dummy, &dummy, &dummy, &dummy );
for ( count = 1; count < 10; count++ )
work_in[count] = 1;
work_in[0] = Getrez()+2;
work_in[10] = 2; /* Rasterkoordinaten */
work_in[11] = x; /* Breite - 1 */
work_in[12] = y; /* Hhe - 1 */
work_in[13] = work_in[14] = 0; /* Pixelbreite und -Hhe des Bildschirms bernehmen */
for ( count = 15; count < 20; count++ )
work_in[count] = 0; /* reserviert */
v_opnbm( work_in, bitmap, &handle, work_out );
return( handle );
}